package group32.client;

import group32.shared.Relation;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("photo")
public interface PhotoService extends RemoteService {

	void changeDescription(String photoID, String description);

	Relation getUserCircles(int userID);

	Relation getUserFriends(int userID);

	Relation getUserPhotos(int userID);
	
	Relation getPhoto (int photoID);
	
	void addPhoto(int userID, String url, String description, int everyone, ArrayList<Integer> circles, ArrayList<Integer> friends);
	
	void addTag(String tag, int photoID, int userID);
	
	boolean isVisible (int userID, int photoID);
	
	float scorePhoto (int userID, int photoID);
	
	void ratePhoto (int userID, int photoID, int scoreGiven);
	
	float getPhotoAvgRating (int photoID);
	
	Relation getPhotoSample(int userID);
	
	void deletePhoto (int userID, int photoID);
	
}